0,        '##########################################################
1,        '# WASH_2_SC_API(UINT2 volume, UINT2 times)
2,        '# DATE/VERSION  : 2026.04.22 Optimized
3,        '# [OPT-1] X-axis empty moves: SLOW -> SPEED_V
4,        '# [OPT-2] ME_UP loop: 15 -> 5, Delay(300) removed
5,        '##########################################################
6,        Display( " WELL(6) WASH(2) BUFFER " )
7,        Mov(X_WELL_6,SPEED_V)
8,        Mov(V_INITIAL_1,SPEED_V)
9,        Mov(Y_WELL_BOTTOM,SPEED_V)
10,      Delay(5)
11,      Draw(volume,SPEED_V)
12,      Delay(50)
13,      Mov(Y_0,SPEED_V)
14,      Display( " WASH(2) SC " )
15,      Mov(X_MG_BOTTOM,SLOW)
16,      ME(ME_LOW)
17,      Mov(Y_MG_MIX,SPEED_V)
18,      Spit(volume,SLOW)
19,      RINSE_API(volume-500,3,SPEED_V)
20,      Mov(X_MG_MIX,SLOW)
21,      Mov(Y_MG_MIX,SPEED_V)
22,      MIX_API(volume-500,3,2,SPEED_V,SPEED_V)
23,      MG_WASH_API(volume-500,5,2,SPEED_V,SLOW)
24,      Mov(X_MG_BOTTOM,SLOW)
25,      Mov(Y_MG_MIX,SPEED_V)
26,      MIX_API(volume-500,times,2,SPEED_V,SPEED_V)
27,      Mov(Y_WELL_5000,SPEED_V)
28,      Display( " WASH(2) SC Magnetic Separation " )
29,      Delay(50)
30,      Spit(200,VSLOW)
31,      Delay(30)
32,      Spit(150,VSLOW)
33,      Mov(Y_WELL_HIGH,SPEED_V)
34,      Mov(V_INITIAL_1,SPEED_V)
35,      Delay(5)
36,      Mov(X_MG_BOTTOM,SPEED_V)
37,      Mov(Y_MG_BOTTOM,SPEED_V)
38,      Draw(volume+200,SLOW)
39,      Mov(Y_WELL_5000,SPEED_V)
40,      Delay(50)
41,      Mov(Y_MG_BOTTOM,SPEED_V)
42,      Draw(200,VSLOW)
43,      Delay(50)
44,      Mov(Y_0,SPEED_V)
45,      Mov(X_HEATER_2_DRAW,SLOW)
46,      Mov(Y_EL_RINSE,SLOW)
47,      Spit(volume,SLOW)
48,      Delay(20)
49,      Spit(200,SLOW)
50,      Delay(20)
51,      Spit(150,SLOW)
52,      Mov(Y_WELL_HIGH,SPEED_V)
53,      ME(ME_UP)
54,      Delay(50)
55,      Mov(V_INITIAL_1,SPEED_V)
56,      '[OPT-2] 5 loops (reduced from 15), vol 1500ul, extended static delay
57,      For (i=0 ; i<5; i++)
58,      {
59,      Mov(Y_MG_MIX_HIGH,SLOW)
60,      Draw(1500,VSLOW)
61,      Delay(10)
62,      Mov(Y_MG_MIX,SLOW)
63,      Spit(1500,VSLOW)
64,                 }
65,      For End
66,      Delay(1200)
67,      Mov(Y_MG_MIX_HIGH,SLOW)
68,      Spit(200,VSLOW)
69,      Mov(Y_WELL_HIGH,SLOW)
70,      Mov(V_INITIAL_1,SLOW)
71,      Delay(30)
72,      Mov(X_HEATER_2_DRAW,SPEED_V)
73,      '--- Stage 1: draw bulk liquid at 2/3 depth (away from bead pellet) ---
74,      Mov(Y_MG_MIX_HIGH,SPEED_V)
75,      Delay(30)
76,      Draw(volume-500,VSLOW)
77,      '--- Stage 2: descend to bottom, draw residual ethanol ---
78,      Mov(Y_MG_BOTTOM,VSLOW)
79,      Draw(500,VSLOW)
80,      Mov(Y_0,SPEED_V)
81,      ME(ME_LOW)
82,      Mov(X_WELL_5,SLOW)
83,      Mov(Y_WELL_5000,SLOW)
84,      Spit(volume,SLOW)
85,      Delay(50)
86,      Spit(1000,SLOW)
87,      Delay(40)
88,      Spit(200,SLOW)
89,      Mov(Y_WELL_HIGH,SPEED_V)
90,      Delay(20)
91,      Mov(V_INITIAL_1,SPEED_V)
92,      Delay(20)
93,      Mov(Y_0,SPEED_V)


